// #include "content-base.h"
// 
// #define recommendFileNum 5
// #define userNum 5551
// #define fileNum 16980
// #define K 20
// 
// struct simi
// {
// 	int fileName;
// 	double similary;
// };
// string intToString(int a)
// {
// 	string result = "";
// 	string temp = "";
// 	if(a == 0)
// 		return "0";
// 	while(a > 0)
// 	{
// 		temp = ((a%10)+'0');
// 		temp +=result;
// 		result = temp;
// 		a /= 10;
// 	}
// 	return result;
// }
// void clearArray(double* array, int len)
// {
// 	for (int i = 0; i < len; i ++)
// 	{
// 		array[i] = 0;
// 	}
// }
// void parseSimilary(string line, double* result)
// {
// 	int len = line.length();
// 	int lastComma = 0;
// 	int comma = 0;
// 	int k = 0;
// 
// 	for(int i= 0; i < len; i++)
// 	{
// 		if(line[i]==' ' || i == len-1)
// 		{
// 			if(i == len-1)
// 				comma = i+1;
// 			else
// 				comma=i;
// 			string oneSimi = line.substr(lastComma+1, comma-lastComma-1);
// 			double intoneSimi = atof(oneSimi.c_str());
// 			result[k] = intoneSimi;
// 			k++;
// 			lastComma = comma;
// 		}
// 	}
// }
// int comp( const void * p, const void * q) 
// { 
// 	double a = (( simi * ) p)->similary;
// 	double b = (( simi * ) q)->similary;
// 	if(a > b)
// 		return -1;
// 	else if(a<b)
// 		return 1;
// 	else
// 		return 0;
// }
// int main()
// {
// 	string readFileName = "result300\\";
// 	string writeFileName = "result2\\";
// 	double* similary = new double[fileNum];
// 	clearArray(similary, fileNum);
// 	simi* fileSimi = new simi[fileNum];
// 	for(int i = 0; i < fileNum; i++)
// 	{
// 		fileSimi[i].fileName = i+1;
// 		fileSimi[i].similary = 0;
// 	}
// 
// 	for(int i = fileNum; i < fileNum+1; i++)
// 	{
// 		if(i%100 == 0)
// 			cout<<i<<endl;
// 		readFileName += intToString(i);
// 		readFileName += ".txt";
// 		ifstream reader(readFileName);
// 		string line;
// 		getline(reader, line);
// 		parseSimilary(line, similary);
// 		reader.close();
// 		readFileName = "result300\\";
// 		for(int i = 0; i < fileNum; i++)
// 		{
// 			fileSimi[i].similary = similary[i];
// 		}
// 		qsort(fileSimi, fileNum, sizeof(simi), comp);
// 
// 		writeFileName += intToString(i);
// 		writeFileName += ".txt";
// 		ofstream writer(writeFileName);
// 		for(int i = 0; i < fileNum; i++)
// 		{
// 			writer<<fileSimi[i].fileName<<":"<<fileSimi[i].similary<<",";
// 		}
// 		writer.close();
// 		writeFileName = "result2\\";
// 		for(int i = 0; i < fileNum; i++)
// 		{
// 			fileSimi[i].fileName = i+1;
// 			fileSimi[i].similary = 0;
// 		}
// 	}
// }